<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://www.w3.org/2005/10/profile">
  <title>BeanIO Home</title>
  <meta http-equiv="Content-Type" content="text/html;" />
  <meta name="description" content="BeanIO is an open source Java library for marshalling and unmarshalling bean objects from a stream, with support for XML, CSV, delimited and fixed length file formats."/>
  <meta name="keywords" content="beanio, java, oxm, xml, fixed length, csv, delimited, parser, file, stream, bean, binding, mapping"/>
  <link rel="stylesheet" href="style.css" type="text/css" />
  <link rel="icon" href="favicon.ico" />
  <link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
<div id="page">

  <div class="header">
  	<div class="title"><img src="images/logo.png"/>bean<span class="brown">io</span></div>
  </div>
  
  <div class="menu">
    <div class="item"><a class="active" href="#">about</a></div>
    <div class="item"><a href="http://www.apache.org/licenses/LICENSE-2.0">license</a></div>
    <div class="item"><a href="http://code.google.com/p/beanio/downloads/list">download</a></div>
    <div class="item"><a href="docs/api/index.html">javadocs</a></div>
    <div class="item"><a href="docs/reference/index.html">reference guide</a></div>
    <div class="item"><a href="http://code.google.com/p/beanio/issues/list">issue tracking</a></div>
    <div class="item"><a href="http://groups.google.com/group/beanio">mailing list</a></div>
  </div>

  <div class="content">
    <p><b>BeanIO</b> is an open source Java framework for marshalling and unmarshalling Java beans, or plain old java objects 
    (POJO's), from large flat files or streams.  Using an XML mapping file, BeanIO can be easily configured to 
    read objects from an input stream and write objects to an output stream.  BeanIO is particularly well suited 
    for batch processing, and currently supports XML, CSV, delimited, and fixed length file formats. 
    </p>
    
    <div class="features"><b>Features:</b>
	  <ul style="margin-top: 3px">
	    <li>Support for XML, CSV, delimited and fixed length stream formats</li>
	    <li>Common field validation rules with customizable error messages</li>
	    <li>Configurable record ordering and grouping rules</li>
	    <li>XML based field mapping</li>
	    <li>Extensible type handling</li>
	    <li>Integration with <a href="http://static.springsource.org/spring-batch/">Spring Batch</a></li>
	  </ul>
    </div>
    
    <p>The BeanIO project is hosted at <a href="http://code.google.com/p/beanio/">Google Code</a></p>
    
    <div class="news">
      <h2>BeanIO 1.2.3 Released <span class="date">February 12, 2012</span></h2>
      <p>Release 1.2.3 contains a few minor bug fixes and is fully backwards compatible with
        prior 1.2.x releases.  The release can be downloaded 
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>
        
      <h2>BeanIO 1.2.2 Released <span class="date">December 18, 2011</span></h2>
      <p>Release 1.2.2 is a minor patch release.  The only functional change is the marshaling
        of configured field defaults for null property values or fields where <tt>ignore="true"</tt>.
        In prior releases, a field default was only used during unmarshaling.
        This behavior can be disabled for backwards compatibility by setting
        <tt>org.beanio.marshalDefaultEnabled</tt> to <tt>false</tt>.  The release can be downloaded 
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>
        
      <h2>BeanIO 1.2.1 Released <span class="date">September 21, 2011</span></h2>
      <p>Release 1.2.1 introduces templates, and fixes the mapping file import logic and
        other minor defects.  The <tt>ConfigurationLoader</tt> interface and its implementation
        required significant changes, but the release is otherwise fully backwards compatible with
        1.2.0.  The release can be downloaded 
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>
      
      <h2>BeanIO 1.2.0 Released <span class="date">September 8, 2011</span></h2>
      <p>Release 1.2.0 adds support for <a href="http://static.springsource.org/spring-batch/">Spring Batch</a>, 
        includes several minor enhancements, and fixes all known defects.  For further details and migration information,
        please refer to the <a href="http://beanio.org/docs/reference/index.html#Introduction">reference guide</a>.
        The release can be downloaded <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>
        
      <h2>BeanIO 1.1.1 Released <span class="date">July 21, 2011</span></h2>
      <p>Release 1.1.1 clarifies and improves support for optional padded fields.
        Padded field behavior has been minorly impacted, although 
        previously supported behavior can be reproduced using the <tt>required</tt>
        field attribute.  Please see defect
        <a href="http://code.google.com/p/beanio/issues/detail?id=11&can=1">gc0011</a>
        for details.</p>
      
      <h2>BeanIO 1.1.0 Released <span class="date">June 19, 2011</span></h2>
      <p>Release 1.1.0 adds support for marshalling and unmarshalling bean objects from XML
        formatted streams.  BeanIO provides Object-to-XML mapping (OXM) capabilities using
        an XML pull parser (aka <a href="http://en.wikipedia.org/wiki/StAX">STaX</a>), which allows 
        for reading and writing large XML streams one bean object at a time.  The mapping file and all
        major interfaces are fully backwards compatible with previous releases.  The release can be downloaded
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>
      
      <h2>BeanIO 1.0.2 Released <span class="date">June 7, 2011</span></h2>
      <p>Release 1.0.2 fixes all known issues and will be the last 1.0.x release before
        the upcoming 1.1.0 release (with XML stream support).  Version 1.1.0
        is expected to be released soon, so if you are an existing BeanIO user, you may want to
        wait before updating your library.  BeanIO 1.0.2 can be downloaded
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.</p>

      <h2>BeanIO 1.0.1 Released <span class="date">April 18, 2011</span></h2>
      <p>Release 1.0.1 fixes the default field position calculation for fields
        that follow a recurring bean definition in a fixed length stream (see issue
        <a href="http://code.google.com/p/beanio/issues/detail?id=7&can=1">gc0007</a>).
        This issue did not impact delimited or CSV formatted streams.</p>

      <h2>BeanIO 1.0 Released <span class="date">February 22, 2011</span></h2>
      <p>Release 1.0 is the first non-beta release and is fully backwards compatible.  This
        release fixes all known issues and includes the following minor enhancements:</p>
      <ul>
        <li>A record terminating character (other than the default carriage return and/or line feed) can be configured 
          for delimited and fixed length input streams.</li>
        <li>Field padding can be applied to any stream format, instead of just fixed length formatted streams.</li>
        <li>An updated reference guide is included with documentation for handling nested beans.</li>
      </ul>
      <p>Further 1.0.x builds will be released as needed for any reported issues.  And if all goes well, 
        the next major release (tentatively targeted for June 2011) will include support for mapping 
        XML formatted streams.</p>
      
      <h2>BeanIO 0.9.3 Released <span class="date">February 7, 2011</span></h2>
      <p>Release 0.9.3 adds support for mapping beans and collections of beans to a record
        bean object.  The syntax is documented in Appendix A of the reference guide.  Further
        documentation (with examples) will be forthcoming in a future release.  Release 0.9.3 is fully backwards
        compatible with the following two exceptions:
      </p>
      <ul>
        <li>In a record definition, field positions must be declared for all fields, or for none of them.
          If no field positions are declared, BeanIO will assign a default position based on the order
          in which the field was declared (this is existing behavior).  If all field position are declared,
          fields may be declared in any order (this is new behavior)</li>
        <li>When a bean object is written to a stream, null values for fields whose position is greater
          than the minimum length of the record, will not be written unless a non-null value is written
          for a subsequent field.  As in prior releases, if the record <tt>minLength</tt> is not set, BeanIO
          assumes all declared fields must be written out.</li>
      </ul>
      <p>This release contains the last of all planned features targeted for a non-beta 1.0 release, which
        should be published in the coming weeks.  The release distribution 
        can be downloaded <a href="http://code.google.com/p/beanio/downloads/list">here</a>. </p>
        
      <h2>BeanIO 0.9.2 Released <span class="date">January 29, 2011</span></h2>
      <p>Release 0.9.2 fixes several critical bugs for fixed length formatted streams, and add supports
       for collection and array type bean properties.  The release distribution can be downloaded
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.
      </p>
      
      <h2>BeanIO 0.9.1 Released <span class="date">January 23, 2011</span></h2>
      <p>Release 0.9.1 includes improved type handling capabilities and simplified Date and Number
        format declarations.  The release distribution can be downloaded
        <a href="http://code.google.com/p/beanio/downloads/list">here</a>.
      </p>
      <h2>BeanIO 0.9.0 Released <span class="date">January 18, 2011</span></h2>
      <p>Release 0.9.0 is the first ever BeanIO release and can be downloaded <a href="http://code.google.com/p/beanio/downloads/list">here</a>.
        The reference guide and API docs are included in the distribution.
      </p>
    </div>
  </div>
  
  <div class="footer">
    &copy;2011 Kevin Seim, All rights reserved.
  </div>
</div>
</body>
</html>